除了前述兩個例子,
我們再來
# 1.把陣列 [1, 2, 3, 4, 5] 變成 [1, 3, 5, 7, 9]
p [1, 2, 3, 4, 5].map { |x| x * 2 - 1 }
map:對這個陣列裡的每一個元素做某件事之後再收集成一個新的陣列
# 2.把陣列 [1, 4, 3, 1, 7, nil, 7] 由小到大排序,並且移除nil 以及重複的數字。
p [1, 4, 3, 1, 7, nil, 7].compact #刪除nil
p [1, 4, 3, 1, 7, nil, 7].uniq #刪除重複
p [1, 4, 3, 1, 7, 7].sort #從小到大,注意不能有nil
p [1, 4, 3, 1, 7, nil, 7].compact.uniq.sort
.compact.uniq.sort:一次給它三個方法,一列直接解決所有問題,真的是太酷了!
#3.印出 1 ~ 100 之間所有的單數
p (1..100).select { |x| x % 2 == 1}
p (1..100).select { |x| x.odd? } #單數odd 雙數even
直接像英語問句.odd?詢問是不是單數,也太猛了!
你發現了嗎?
Ruby的世界裡有許多的方法,
可以幫你快速的處理很多事。
希望大家一起來發現Ruby更多的美!
Ruby